Introduction

GIS data releases such as BioClim (WorldClim) and ENVIREM are very useful for eco-evolutionary research. However, some of the layers are hard to develop an intuition for based solely on the definition of what the variable means. Here we provide worldwide maps of the variables. The main purpose of this is to be of help in interpreting the results of ENM/SDM analyses or other approaches that select variables out of larger sets, for example when including OMI- transformed point estimates of species optima. We therefore map these data only at the lowest resolution (10 arc minutes) to get a global perspective without too much data.

BioClim

Fick, S.E. and R.J. Hijmans, 2017. WorldClim 2: new 1km spatial resolution climate surfaces for global land areas. International Journal of Climatology 37 (12): 4302-4315. https://doi.org/10.1002/joc.5086

Data at: https://www.worldclim.org/data/bioclim.html

Bioclimatic variables are derived from the monthly temperature and rainfall values in order to generate more biologically meaningful variables. These are often used in species distribution modeling and related ecological modeling techniques. The bioclimatic variables represent annual trends (e.g., mean annual temperature, annual precipitation) seasonality (e.g., annual range in temperature and precipitation) and extreme or limiting environmental factors (e.g., temperature of the coldest and warmest month, and precipitation of the wet and dry quarters). A quarter is a period of three months (1/4 of the year).

BIO1 = Annual Mean Temperature

This tracks the latitude: highest near the equator, lowest near the poles. Mountains are exceptions: higher in the mountains is similar to further away from the equator.

GDALinfo("../data/bioclim/2.1/10m/wc2.1_10m_bio_1.tif")
## rows        1080 
## columns     2160 
## bands       1 
## lower left origin.x        -180 
## lower left origin.y        -90 
## res.x       0.1666667 
## res.y       0.1666667 
## ysign       -1 
## oblique.x   0 
## oblique.y   0 
## driver      GTiff 
## projection  +proj=longlat +datum=WGS84 +no_defs 
## file        ../data/bioclim/2.1/10m/wc2.1_10m_bio_1.tif 
## apparent band summary:
##    GDType hasNoDataValue NoDataValue blockSize1 blockSize2
## 1 Float32           TRUE    -3.4e+38          1       2160
## apparent band statistics:
##        Bmin     Bmax Bmean Bsd
## 1 -54.72435 30.98764   NaN NaN
## Metadata:
## AREA_OR_POINT=Area
r <- raster("../data/bioclim/2.1/10m/wc2.1_10m_bio_1.tif", values=T, nrows=1080, ncols=2160, xmn=-180, xmx=180, ymn=-90, ymx=90)
plot(r)

BIO2 = Mean Diurnal Range (Mean of monthly (max temp - min temp))

Diurnal = through the 24hr cycle. So for every month the difference between max temp (during the day) and min temp (at night) is taken. This is highest in desert regions, with cold nights and hot days.

GDALinfo("../data/bioclim/2.1/10m/wc2.1_10m_bio_2.tif")
## rows        1080 
## columns     2160 
## bands       1 
## lower left origin.x        -180 
## lower left origin.y        -90 
## res.x       0.1666667 
## res.y       0.1666667 
## ysign       -1 
## oblique.x   0 
## oblique.y   0 
## driver      GTiff 
## projection  +proj=longlat +datum=WGS84 +no_defs 
## file        ../data/bioclim/2.1/10m/wc2.1_10m_bio_2.tif 
## apparent band summary:
##    GDType hasNoDataValue NoDataValue blockSize1 blockSize2
## 1 Float32           TRUE    -3.4e+38          1       2160
## apparent band statistics:
##   Bmin     Bmax Bmean Bsd
## 1    1 21.14754   NaN NaN
## Metadata:
## AREA_OR_POINT=Area
r <- raster("../data/bioclim/2.1/10m/wc2.1_10m_bio_2.tif", values=T, nrows=1080, ncols=2160, xmn=-180, xmx=180, ymn=-90, ymx=90)
plot(r)

BIO3 = Isothermality (BIO2/BIO7) (×100)

This variable is BIO2 divided by BIO7, so, the daily range divided by the annual range. Because the annual range is lowest in the equatorial tropics (there are more or less no seasons), this quotient is highest in the tropics.

GDALinfo("../data/bioclim/2.1/10m/wc2.1_10m_bio_3.tif")
## rows        1080 
## columns     2160 
## bands       1 
## lower left origin.x        -180 
## lower left origin.y        -90 
## res.x       0.1666667 
## res.y       0.1666667 
## ysign       -1 
## oblique.x   0 
## oblique.y   0 
## driver      GTiff 
## projection  +proj=longlat +datum=WGS84 +no_defs 
## file        ../data/bioclim/2.1/10m/wc2.1_10m_bio_3.tif 
## apparent band summary:
##    GDType hasNoDataValue NoDataValue blockSize1 blockSize2
## 1 Float32           TRUE    -3.4e+38          1       2160
## apparent band statistics:
##       Bmin Bmax Bmean Bsd
## 1 9.131122  100   NaN NaN
## Metadata:
## AREA_OR_POINT=Area
r <- raster("../data/bioclim/2.1/10m/wc2.1_10m_bio_3.tif", values=T, nrows=1080, ncols=2160, xmn=-180, xmx=180, ymn=-90, ymx=90)
plot(r)

BIO4 = Temperature Seasonality (standard deviation ×100)

The degree to which temperature varies by season. This is highest in the polar regions, where summers can be above 10 degrees while winters are freezing.

GDALinfo("../data/bioclim/2.1/10m/wc2.1_10m_bio_4.tif")
## rows        1080 
## columns     2160 
## bands       1 
## lower left origin.x        -180 
## lower left origin.y        -90 
## res.x       0.1666667 
## res.y       0.1666667 
## ysign       -1 
## oblique.x   0 
## oblique.y   0 
## driver      GTiff 
## projection  +proj=longlat +datum=WGS84 +no_defs 
## file        ../data/bioclim/2.1/10m/wc2.1_10m_bio_4.tif 
## apparent band summary:
##    GDType hasNoDataValue NoDataValue blockSize1 blockSize2
## 1 Float32           TRUE    -3.4e+38          1       2160
## apparent band statistics:
##   Bmin     Bmax Bmean Bsd
## 1    0 2363.846   NaN NaN
## Metadata:
## AREA_OR_POINT=Area
r <- raster("../data/bioclim/2.1/10m/wc2.1_10m_bio_4.tif", values=T, nrows=1080, ncols=2160, xmn=-180, xmx=180, ymn=-90, ymx=90)
plot(r)

BIO5 = Max Temperature of Warmest Month

This mostly shows that extraordinary heat waves can happen almost anywhere except high in the polar regions and high in the mountains.

GDALinfo("../data/bioclim/2.1/10m/wc2.1_10m_bio_5.tif")
## rows        1080 
## columns     2160 
## bands       1 
## lower left origin.x        -180 
## lower left origin.y        -90 
## res.x       0.1666667 
## res.y       0.1666667 
## ysign       -1 
## oblique.x   0 
## oblique.y   0 
## driver      GTiff 
## projection  +proj=longlat +datum=WGS84 +no_defs 
## file        ../data/bioclim/2.1/10m/wc2.1_10m_bio_5.tif 
## apparent band summary:
##    GDType hasNoDataValue NoDataValue blockSize1 blockSize2
## 1 Float32           TRUE    -3.4e+38          1       2160
## apparent band statistics:
##      Bmin     Bmax Bmean Bsd
## 1 -29.686 48.08275   NaN NaN
## Metadata:
## AREA_OR_POINT=Area
r <- raster("../data/bioclim/2.1/10m/wc2.1_10m_bio_5.tif", values=T, nrows=1080, ncols=2160, xmn=-180, xmx=180, ymn=-90, ymx=90)
plot(r)

BIO6 = Min Temperature of Coldest Month

No frost in tropics, but possible in arid subtropics. Severe freezing in polar regions and in the mountains.

GDALinfo("../data/bioclim/2.1/10m/wc2.1_10m_bio_6.tif")
## rows        1080 
## columns     2160 
## bands       1 
## lower left origin.x        -180 
## lower left origin.y        -90 
## res.x       0.1666667 
## res.y       0.1666667 
## ysign       -1 
## oblique.x   0 
## oblique.y   0 
## driver      GTiff 
## projection  +proj=longlat +datum=WGS84 +no_defs 
## file        ../data/bioclim/2.1/10m/wc2.1_10m_bio_6.tif 
## apparent band summary:
##    GDType hasNoDataValue NoDataValue blockSize1 blockSize2
## 1 Float32           TRUE    -3.4e+38          1       2160
## apparent band statistics:
##        Bmin Bmax Bmean Bsd
## 1 -72.50025 26.3   NaN NaN
## Metadata:
## AREA_OR_POINT=Area
r <- raster("../data/bioclim/2.1/10m/wc2.1_10m_bio_6.tif", values=T, nrows=1080, ncols=2160, xmn=-180, xmx=180, ymn=-90, ymx=90)
plot(r)

BIO7 = Temperature Annual Range (BIO5-BIO6)

The difference between max temperature during the warmest month (BIO5) and the min temperature during the coldest. This difference is the greatest in the polar regions and smallest near the equator.

GDALinfo("../data/bioclim/2.1/10m/wc2.1_10m_bio_7.tif")
## rows        1080 
## columns     2160 
## bands       1 
## lower left origin.x        -180 
## lower left origin.y        -90 
## res.x       0.1666667 
## res.y       0.1666667 
## ysign       -1 
## oblique.x   0 
## oblique.y   0 
## driver      GTiff 
## projection  +proj=longlat +datum=WGS84 +no_defs 
## file        ../data/bioclim/2.1/10m/wc2.1_10m_bio_7.tif 
## apparent band summary:
##    GDType hasNoDataValue NoDataValue blockSize1 blockSize2
## 1 Float32           TRUE    -3.4e+38          1       2160
## apparent band statistics:
##   Bmin     Bmax Bmean Bsd
## 1    1 72.30175   NaN NaN
## Metadata:
## AREA_OR_POINT=Area
r <- raster("../data/bioclim/2.1/10m/wc2.1_10m_bio_7.tif", values=T, nrows=1080, ncols=2160, xmn=-180, xmx=180, ymn=-90, ymx=90)
plot(r)

BIO8 = Mean Temperature of Wettest Quarter

The wettest quarter is warmest in the tropics.

GDALinfo("../data/bioclim/2.1/10m/wc2.1_10m_bio_8.tif")
## rows        1080 
## columns     2160 
## bands       1 
## lower left origin.x        -180 
## lower left origin.y        -90 
## res.x       0.1666667 
## res.y       0.1666667 
## ysign       -1 
## oblique.x   0 
## oblique.y   0 
## driver      GTiff 
## projection  +proj=longlat +datum=WGS84 +no_defs 
## file        ../data/bioclim/2.1/10m/wc2.1_10m_bio_8.tif 
## apparent band summary:
##    GDType hasNoDataValue NoDataValue blockSize1 blockSize2
## 1 Float32           TRUE    -3.4e+38          1       2160
## apparent band statistics:
##        Bmin     Bmax Bmean Bsd
## 1 -66.29942 37.70479   NaN NaN
## Metadata:
## AREA_OR_POINT=Area
r <- raster("../data/bioclim/2.1/10m/wc2.1_10m_bio_8.tif", values=T, nrows=1080, ncols=2160, xmn=-180, xmx=180, ymn=-90, ymx=90)
plot(r)

BIO9 = Mean Temperature of Driest Quarter

The driest quarter is warmest in the tropics.

GDALinfo("../data/bioclim/2.1/10m/wc2.1_10m_bio_9.tif")
## rows        1080 
## columns     2160 
## bands       1 
## lower left origin.x        -180 
## lower left origin.y        -90 
## res.x       0.1666667 
## res.y       0.1666667 
## ysign       -1 
## oblique.x   0 
## oblique.y   0 
## driver      GTiff 
## projection  +proj=longlat +datum=WGS84 +no_defs 
## file        ../data/bioclim/2.1/10m/wc2.1_10m_bio_9.tif 
## apparent band summary:
##    GDType hasNoDataValue NoDataValue blockSize1 blockSize2
## 1 Float32           TRUE    -3.4e+38          1       2160
## apparent band statistics:
##        Bmin     Bmax Bmean Bsd
## 1 -54.26688 37.43358   NaN NaN
## Metadata:
## AREA_OR_POINT=Area
r <- raster("../data/bioclim/2.1/10m/wc2.1_10m_bio_9.tif", values=T, nrows=1080, ncols=2160, xmn=-180, xmx=180, ymn=-90, ymx=90)
plot(r)

BIO10 = Mean Temperature of Warmest Quarter

Closely tracks BIO1

GDALinfo("../data/bioclim/2.1/10m/wc2.1_10m_bio_10.tif")
## rows        1080 
## columns     2160 
## bands       1 
## lower left origin.x        -180 
## lower left origin.y        -90 
## res.x       0.1666667 
## res.y       0.1666667 
## ysign       -1 
## oblique.x   0 
## oblique.y   0 
## driver      GTiff 
## projection  +proj=longlat +datum=WGS84 +no_defs 
## file        ../data/bioclim/2.1/10m/wc2.1_10m_bio_10.tif 
## apparent band summary:
##    GDType hasNoDataValue NoDataValue blockSize1 blockSize2
## 1 Float32           TRUE    -3.4e+38          1       2160
## apparent band statistics:
##        Bmin     Bmax Bmean Bsd
## 1 -37.78142 38.21617   NaN NaN
## Metadata:
## AREA_OR_POINT=Area
r <- raster("../data/bioclim/2.1/10m/wc2.1_10m_bio_10.tif", values=T, nrows=1080, ncols=2160, xmn=-180, xmx=180, ymn=-90, ymx=90)
plot(r)

BIO11 = Mean Temperature of Coldest Quarter

Closely tracks BIO1

GDALinfo("../data/bioclim/2.1/10m/wc2.1_10m_bio_11.tif")
## rows        1080 
## columns     2160 
## bands       1 
## lower left origin.x        -180 
## lower left origin.y        -90 
## res.x       0.1666667 
## res.y       0.1666667 
## ysign       -1 
## oblique.x   0 
## oblique.y   0 
## driver      GTiff 
## projection  +proj=longlat +datum=WGS84 +no_defs 
## file        ../data/bioclim/2.1/10m/wc2.1_10m_bio_11.tif 
## apparent band summary:
##    GDType hasNoDataValue NoDataValue blockSize1 blockSize2
## 1 Float32           TRUE    -3.4e+38          1       2160
## apparent band statistics:
##        Bmin     Bmax Bmean Bsd
## 1 -66.31125 29.15299   NaN NaN
## Metadata:
## AREA_OR_POINT=Area
r <- raster("../data/bioclim/2.1/10m/wc2.1_10m_bio_11.tif", values=T, nrows=1080, ncols=2160, xmn=-180, xmx=180, ymn=-90, ymx=90)
plot(r)

BIO12 = Annual Precipitation

I.e. rain, snow, hail, etc. Precipitation roughly follows bands with the equatorial tropics being the wettest, then followed by the driest (desert) zone in either direction away from the equator, then the less dry subtropical zone (including mediterranean climates) followed by the wetter temperate and boreal zones.

GDALinfo("../data/bioclim/2.1/10m/wc2.1_10m_bio_12.tif")
## rows        1080 
## columns     2160 
## bands       1 
## lower left origin.x        -180 
## lower left origin.y        -90 
## res.x       0.1666667 
## res.y       0.1666667 
## ysign       -1 
## oblique.x   0 
## oblique.y   0 
## driver      GTiff 
## projection  +proj=longlat +datum=WGS84 +no_defs 
## file        ../data/bioclim/2.1/10m/wc2.1_10m_bio_12.tif 
## apparent band summary:
##    GDType hasNoDataValue NoDataValue blockSize1 blockSize2
## 1 Float32           TRUE    -3.4e+38          1       2160
## apparent band statistics:
##   Bmin  Bmax Bmean Bsd
## 1    0 11191   NaN NaN
## Metadata:
## AREA_OR_POINT=Area
r <- raster("../data/bioclim/2.1/10m/wc2.1_10m_bio_12.tif", values=T, nrows=1080, ncols=2160, xmn=-180, xmx=180, ymn=-90, ymx=90)
plot(r)

BIO13 = Precipitation of Wettest Month

Closely tracks BIO12

GDALinfo("../data/bioclim/2.1/10m/wc2.1_10m_bio_13.tif")
## rows        1080 
## columns     2160 
## bands       1 
## lower left origin.x        -180 
## lower left origin.y        -90 
## res.x       0.1666667 
## res.y       0.1666667 
## ysign       -1 
## oblique.x   0 
## oblique.y   0 
## driver      GTiff 
## projection  +proj=longlat +datum=WGS84 +no_defs 
## file        ../data/bioclim/2.1/10m/wc2.1_10m_bio_13.tif 
## apparent band summary:
##    GDType hasNoDataValue NoDataValue blockSize1 blockSize2
## 1 Float32           TRUE    -3.4e+38          1       2160
## apparent band statistics:
##   Bmin Bmax Bmean Bsd
## 1    0 2381   NaN NaN
## Metadata:
## AREA_OR_POINT=Area
r <- raster("../data/bioclim/2.1/10m/wc2.1_10m_bio_13.tif", values=T, nrows=1080, ncols=2160, xmn=-180, xmx=180, ymn=-90, ymx=90)
plot(r)

BIO14 = Precipitation of Driest Month

The general trend is that high values are even more tightly clustered around the equator, where precipitation is the most constant year round (and therefore even during the driest month). Besides that, coastal mountain ranges catch the most constant precipitation.

GDALinfo("../data/bioclim/2.1/10m/wc2.1_10m_bio_14.tif")
## rows        1080 
## columns     2160 
## bands       1 
## lower left origin.x        -180 
## lower left origin.y        -90 
## res.x       0.1666667 
## res.y       0.1666667 
## ysign       -1 
## oblique.x   0 
## oblique.y   0 
## driver      GTiff 
## projection  +proj=longlat +datum=WGS84 +no_defs 
## file        ../data/bioclim/2.1/10m/wc2.1_10m_bio_14.tif 
## apparent band summary:
##    GDType hasNoDataValue NoDataValue blockSize1 blockSize2
## 1 Float32           TRUE    -3.4e+38          1       2160
## apparent band statistics:
##   Bmin Bmax Bmean Bsd
## 1    0  484   NaN NaN
## Metadata:
## AREA_OR_POINT=Area
r <- raster("../data/bioclim/2.1/10m/wc2.1_10m_bio_14.tif", values=T, nrows=1080, ncols=2160, xmn=-180, xmx=180, ymn=-90, ymx=90)
plot(r)

BIO15 = Precipitation Seasonality (Coefficient of Variation)

Values are the highest, meaning variation is the greatest across seasons, in the arid zones flanking the wet, equatorial tropics. Example: the Sahel.

GDALinfo("../data/bioclim/2.1/10m/wc2.1_10m_bio_15.tif")
## rows        1080 
## columns     2160 
## bands       1 
## lower left origin.x        -180 
## lower left origin.y        -90 
## res.x       0.1666667 
## res.y       0.1666667 
## ysign       -1 
## oblique.x   0 
## oblique.y   0 
## driver      GTiff 
## projection  +proj=longlat +datum=WGS84 +no_defs 
## file        ../data/bioclim/2.1/10m/wc2.1_10m_bio_15.tif 
## apparent band summary:
##    GDType hasNoDataValue NoDataValue blockSize1 blockSize2
## 1 Float32           TRUE    -3.4e+38          1       2160
## apparent band statistics:
##   Bmin     Bmax Bmean Bsd
## 1    0 229.0017   NaN NaN
## Metadata:
## AREA_OR_POINT=Area
r <- raster("../data/bioclim/2.1/10m/wc2.1_10m_bio_15.tif", values=T, nrows=1080, ncols=2160, xmn=-180, xmx=180, ymn=-90, ymx=90)
plot(r)

BIO16 = Precipitation of Wettest Quarter

Closely tracks BIO13.

GDALinfo("../data/bioclim/2.1/10m/wc2.1_10m_bio_16.tif")
## rows        1080 
## columns     2160 
## bands       1 
## lower left origin.x        -180 
## lower left origin.y        -90 
## res.x       0.1666667 
## res.y       0.1666667 
## ysign       -1 
## oblique.x   0 
## oblique.y   0 
## driver      GTiff 
## projection  +proj=longlat +datum=WGS84 +no_defs 
## file        ../data/bioclim/2.1/10m/wc2.1_10m_bio_16.tif 
## apparent band summary:
##    GDType hasNoDataValue NoDataValue blockSize1 blockSize2
## 1 Float32           TRUE    -3.4e+38          1       2160
## apparent band statistics:
##   Bmin Bmax Bmean Bsd
## 1    0 5284   NaN NaN
## Metadata:
## AREA_OR_POINT=Area
r <- raster("../data/bioclim/2.1/10m/wc2.1_10m_bio_16.tif", values=T, nrows=1080, ncols=2160, xmn=-180, xmx=180, ymn=-90, ymx=90)
plot(r)

BIO17 = Precipitation of Driest Quarter

Closely tracks BIO14.

GDALinfo("../data/bioclim/2.1/10m/wc2.1_10m_bio_17.tif")
## rows        1080 
## columns     2160 
## bands       1 
## lower left origin.x        -180 
## lower left origin.y        -90 
## res.x       0.1666667 
## res.y       0.1666667 
## ysign       -1 
## oblique.x   0 
## oblique.y   0 
## driver      GTiff 
## projection  +proj=longlat +datum=WGS84 +no_defs 
## file        ../data/bioclim/2.1/10m/wc2.1_10m_bio_17.tif 
## apparent band summary:
##    GDType hasNoDataValue NoDataValue blockSize1 blockSize2
## 1 Float32           TRUE    -3.4e+38          1       2160
## apparent band statistics:
##   Bmin Bmax Bmean Bsd
## 1    0 1507   NaN NaN
## Metadata:
## AREA_OR_POINT=Area
r <- raster("../data/bioclim/2.1/10m/wc2.1_10m_bio_17.tif", values=T, nrows=1080, ncols=2160, xmn=-180, xmx=180, ymn=-90, ymx=90)
plot(r)

BIO18 = Precipitation of Warmest Quarter

Highest in tropics and on the wet side of mountain ranges, e.g. see Himalaya.

GDALinfo("../data/bioclim/2.1/10m/wc2.1_10m_bio_18.tif")
## rows        1080 
## columns     2160 
## bands       1 
## lower left origin.x        -180 
## lower left origin.y        -90 
## res.x       0.1666667 
## res.y       0.1666667 
## ysign       -1 
## oblique.x   0 
## oblique.y   0 
## driver      GTiff 
## projection  +proj=longlat +datum=WGS84 +no_defs 
## file        ../data/bioclim/2.1/10m/wc2.1_10m_bio_18.tif 
## apparent band summary:
##    GDType hasNoDataValue NoDataValue blockSize1 blockSize2
## 1 Float32           TRUE    -3.4e+38          1       2160
## apparent band statistics:
##   Bmin Bmax Bmean Bsd
## 1    0 5282   NaN NaN
## Metadata:
## AREA_OR_POINT=Area
r <- raster("../data/bioclim/2.1/10m/wc2.1_10m_bio_18.tif", values=T, nrows=1080, ncols=2160, xmn=-180, xmx=180, ymn=-90, ymx=90)
plot(r)

BIO19 = Precipitation of Coldest Quarter

Closely tracks BIO14.

GDALinfo("../data/bioclim/2.1/10m/wc2.1_10m_bio_19.tif")
## rows        1080 
## columns     2160 
## bands       1 
## lower left origin.x        -180 
## lower left origin.y        -90 
## res.x       0.1666667 
## res.y       0.1666667 
## ysign       -1 
## oblique.x   0 
## oblique.y   0 
## driver      GTiff 
## projection  +proj=longlat +datum=WGS84 +no_defs 
## file        ../data/bioclim/2.1/10m/wc2.1_10m_bio_19.tif 
## apparent band summary:
##    GDType hasNoDataValue NoDataValue blockSize1 blockSize2
## 1 Float32           TRUE    -3.4e+38          1       2160
## apparent band statistics:
##   Bmin Bmax Bmean Bsd
## 1    0 4467   NaN NaN
## Metadata:
## AREA_OR_POINT=Area
r <- raster("../data/bioclim/2.1/10m/wc2.1_10m_bio_19.tif", values=T, nrows=1080, ncols=2160, xmn=-180, xmx=180, ymn=-90, ymx=90)
plot(r)